package com.niuwa.p2p.service.borrowinfomg.enterpriseinfomg;
import java.util.Map;

import com.niuwa.p2p.core.mvc.entity.PageBean;
import com.niuwa.p2p.entity.channel.LoanClaimAudit;
import com.niuwa.p2p.entity.enterprise.CorpBorrowHistoryVO;
import com.niuwa.p2p.entity.enterprise.EnterpriseBlackVO;
import com.niuwa.p2p.vo.borrowinfomg.enterpriseinfomg.BorrowCorpVo;
import com.niuwa.p2p.vo.borrowinfomg.enterpriseinfomg.CorpBasicInfoVo;
import com.niuwa.p2p.vo.channel.AuditFrom;

public interface IEnterpriseinfoMgService {
	
	/**
	 * 分页查询借款企业集合
	 * 根据paramMap，选取需要的渠道客户集合 
	 * 
	 * @param paramMap 过滤得条件Map
	 * @return PageBean<BorrowCorpVo> 借款企业 分页信息集合
	 */
	public PageBean<BorrowCorpVo> search(Map<String, Object> paramMap);
	
	/**
	 * 删除
	 * @param corpCode 企业编号
	 * @param operatorId 操作员ID 
	 * @throws Exception
	 */
	public int deleteBorrowCopr(String corpCode, long operatorId) throws Exception;

	
	/**
	 * 提交审核
	 * @param corpCode 企业编号
	 * @param operatorId 操作员ID 
	 * @throws Exception
	 */
	public int updateToAuditBorrowCopr(String corpCode, long operatorId) throws Exception;
	
	/**
	 * 审核
	 * @param corpCode 企业编号
	 * @param auditFrom 审核Form 
	 * @param operatorId 操作员ID
	 * @throws Exception
	 */
	public int updateAuditBorrowCopr(String corpCode, AuditFrom auditFrom, long operatorId) throws Exception;
	
	/**
	 * 启用
	 * @param corpCode 企业编号
	 * @param operatorId 操作员ID
	 * @throws Exception
	 */
	public int updateEnableBorrowCorp(String corpCode, long operatorId) throws Exception;
	
	/**
	 * 取得企业基本信息
	 * @param corpCode 企业编号
	 * @return ChannelBasicInfoVo 渠道基本信息
	 */
	public CorpBasicInfoVo getCorpBasicInfo(String corpCode);
	
	/**
	 * 添加黑名单
	 * @param enterpriseBlackVO
	 */
	public void addNewBlackEnterprise(EnterpriseBlackVO enterpriseBlackVO);

	/**
	 * 查询借款历史记录
	 * @param paramMap
	 * @return
	 */
	public PageBean<CorpBorrowHistoryVO> getBorrowHistorys(Map<String,Object> paramMap);
	

	
}
